package org.toools.gwt.demo.client;

import com.google.gwt.user.client.rpc.AsyncCallback;
import java.util.List;
import org.toools.gwt.demo.jpa.Account;
import org.toools.gwt.demo.jpa.Additive;
import org.toools.gwt.demo.jpa.Application;
import org.toools.gwt.demo.jpa.Company;
import org.toools.gwt.demo.jpa.CompanyPart;
import org.toools.gwt.demo.jpa.Container;
import org.toools.gwt.demo.jpa.Disposer;
import org.toools.gwt.demo.jpa.Waste;

public interface DemoServiceAsync {

    void getAccountByID(Integer id, AsyncCallback<Account> callback);
    void getAccounts(AsyncCallback<List<Account>> callback);

    void getAdditiveByID(Integer id, AsyncCallback<Additive> callback);
    void getAdditives(AsyncCallback<List<Additive>> callback);

    void getApplicationByID(Integer id, AsyncCallback<Application> callback);
    void getApplications(AsyncCallback<List<Application>> callback);

    void getCompanyByID(Integer id, AsyncCallback<Company> callback);
    void getCompanies(AsyncCallback<List<Company>> callback);

    void getCompanyPartByID(Integer id, AsyncCallback<CompanyPart> callback);
    void getCompanyParts(AsyncCallback<List<CompanyPart>> callback);

    void getContainerByID(Integer id, AsyncCallback<Container> callback);
    void getContainers(AsyncCallback<List<Container>> callback);

    void getDisposerByID(Integer id, AsyncCallback<Disposer> callback);
    void getDisposers(AsyncCallback<List<Disposer>> callback);

    void getWasteByID(Integer id, AsyncCallback<Waste> callback);
    void getWaste(AsyncCallback<List<Waste>> callback);

    void test(AsyncCallback<String> callback);
}